home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1994 January / PSL Monthly Shareware CD-ROM (Public Software Library) (January 1994).iso / games / dos / ascii_ga / slotmac.com / SLOT.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1988-07-25  |  8.4 KB  |  195 lines

  1. 10  SCREEN 0:WIDTH 80:KEY OFF:COLOR 14,0,0:CLS:PLAY"MF"
  2. 20  DIM V$(10),V(10),V1$(10),V1(10),V3$(10),V3(10),W$(7),W(7):L$=CHR$(186):S$=CHR$(205):B$=CHR$(186):M=25:NS=0
  3. 30  REM Data statements are color of wheel symbols
  4. 40  DATA 5,10,12,4,14,5,5,12,4,10,14,12,4,5,12,5,14,4,14,4,12,4,14,10,12,5,14,5,12,14
  5. 50  W$(1)=" CHERRY ":W(1)=4:W$(2)=" LEMON  ":W(2)=14:W$(3)=" *$$$$* ":W(3)=10:W$(4)="  PLUM  ":W(4)=5
  6. 60  W$(5)=" ORANGE ":W(5)=12:W$(6)=" CHERRY ":W(6)=4:W$(7)=" LEMON  ":W(7)=14
  7. 70  REM WHEEL ONE
  8. 80   V$(1)= "  PLUM  ":V$(2)= " CHERRY ":V$(3)= "  PLUM  ":V$(4)= " *$$$$* "
  9. 90   V$(5)= " CHERRY ":V$(6)= "  PLUM  ":V$(7)= " LEMON  ":V$(8)= " CHERRY "
  10. 100   V$(9)= " ORANGE ":V$(10)="  PLUM  "
  11. 110  REM WHEEL TWO
  12. 120  V1$(1)=" *$$$$* ":V1$(2)=" LEMON  ":V1$(3)=" ORANGE ":V1$(4)=" LEMON  "
  13. 130  V1$(5)="  PLUM  ":V1$(6)=" LEMON  ":V1$(7)=" CHERRY ":V1$(8)=" LEMON  "
  14. 140  V1$(9)="  PLUM  ":V1$(10)=" ORANGE "
  15. 150  REM WHEEL THREE
  16. 160  V3$(1)=" ORANGE ":V3$(2)="  PLUM  ":V3$(3)=" CHERRY ":V3$(4)=" ORANGE "
  17. 170  V3$(5)=" ORANGE ":V3$(6)=" CHERRY ":V3$(7)=" ORANGE ":V3$(8)=" *$$$$* "
  18. 180  V3$(9)=" LEMON  ":V3$(10)=" LEMON  "
  19. 190  RANDOMIZE TIMER
  20. 200  LOCATE ,,0:FOR J=2 TO 22
  21. 210  LOCATE 2,2:PRINT CHR$(201):LOCATE 2,79:PRINT CHR$(187)
  22. 220  LOCATE 23,2:PRINT CHR$(200):LOCATE 23,79:PRINT CHR$(188)
  23. 230  LOCATE J,2:PRINT CHR$(186)
  24. 240  LOCATE J,79:PRINT CHR$(186)
  25. 250  NEXT J:FOR J=3 TO 78
  26. 260  LOCATE 2,J:PRINT CHR$(205)
  27. 270  LOCATE 23,J:PRINT CHR$(205):NEXT J:COLOR 12
  28. 280  LOCATE 5,23:PRINT"S  L  O  T    M  A  C  H  I  N  E":COLOR 15:FOR X=1 TO 10:READ V(X),V1(X),V3(X):NEXT X
  29. 290  LOCATE 10,21:PRINT"This version modified by James Huckabey"
  30. 300  LOCATE 11,29:PRINT"Bellingham, Washington":LOCATE 18,29:PRINT"Original Author Unknown":LOCATE 14,34:PRINT"version 1.01":LOCATE 20,28:PRINT"C O L O R   V E R S I O N";
  31. 310  I$=INKEY$:IF I$="" THEN 310
  32. 320  LOCATE 5,23:PRINT SPACE$(33);:LOCATE 10,21:PRINT SPACE$(39);:LOCATE 11,29:PRINT SPACE$(22);:LOCATE 18,29:PRINT SPACE$(40);
  33. 330  LOCATE 14,34:PRINT SPACE$(12);:LOCATE 20,28:PRINT SPACE$(44);:COLOR 5:GOSUB 1640
  34. 340  LOCATE 4,4:PRINT SPACE$(24);:LOCATE 8,4:PRINT SPACE$(73);:FOR X=17 TO 21:LOCATE X,4:PRINT SPACE$(73);:NEXT X
  35. 350  LOCATE 4,10,0:PRINT "OK ";:COLOR 15:PRINT N$;:COLOR 5:PRINT", here are the odds:"
  36. 360  LOCATE 6,20:PRINT "SYMBOL / HOW MANY        PAYOUT"
  37. 370  LOCATE 7,20:PRINT "-------------------------------"
  38. 380  LOCATE  8,20:COLOR 4:PRINT "CHERRY";:COLOR 5:PRINT"                   $ 0.50"
  39. 390  LOCATE  9,20:COLOR 4:PRINT "CHERRY-CHERRY";:COLOR 5:PRINT"            $ 1.00"
  40. 400  LOCATE 10,20:COLOR 4:PRINT "CHERRY-CHERRY-CHERRY";:COLOR 5:PRINT"     $ 5.00"
  41. 410  LOCATE 11,20:COLOR 14:PRINT "LEMON -LEMON -LEMON ";:COLOR 5:PRINT"     $ 7.50"
  42. 420  LOCATE 12,20:PRINT " PLUM - PLUM - PLUM      $10.00"
  43. 430  LOCATE 13,20:COLOR 12:PRINT "ORANGE-ORANGE-ORANGE";:COLOR 5:PRINT"     $15.00"
  44. 440  LOCATE 14,20:COLOR 12:PRINT "ORANGE-ORANGE";:COLOR 10:PRINT"-*$$$$*";:COLOR 5:PRINT"     $25.00"
  45. 450  LOCATE 15,20:COLOR 10:PRINT "*$$$$*-*$$$$*-*$$$$*";:COLOR 5:PRINT"     $37.50":COLOR 15
  46. 460  LOCATE 17,10:PRINT "When the message PULL appears, press ENTER to PULL."
  47. 470  LOCATE 19,10:PRINT "Or press E to end the session."
  48. 480  LOCATE 21,10:PRINT "When you are ready to begin press ENTER."
  49. 490  Z9$=INKEY$:IF Z9$<>CHR$(13) THEN 490
  50. 500  COLOR 15,0,0:CLS
  51. 510  Y=16:FOR X=1 TO 18:LOCATE X,Y,0:PRINT S$:NEXT X
  52. 520  X=18:FOR Y=17 TO 50:LOCATE X,Y,0:PRINT B$:NEXT Y
  53. 530  Y=51:FOR X=18 TO 1 STEP-1:LOCATE X,Y,0:PRINT S$:NEXT X
  54. 540  X=1:FOR Y=50 TO 17 STEP-1:LOCATE X,Y,0:PRINT L$:NEXT Y
  55. 550  COLOR 4,1
  56. 560  FOR X = 2 TO 17
  57. 570  LOCATE X,17,0
  58. 580  FOR Z = 1 TO 17:PRINT CHR$(36);CHR$(1);:NEXT Z,X
  59. 590  LOCATE 3,27,0:COLOR 15,1:PRINT"Q U A R T E R";
  60. 600  GOSUB 620:GOTO 720
  61. 610  REM ARM
  62. 620  LOCATE 14,52,0:PRINT "/";
  63. 630  Y=52:FOR X=13 TO 8 STEP-1:LOCATE X,Y,0:PRINT "//";:Y=Y+1:NEXT X
  64. 640  FOR X=7 TO 6 STEP-1:LOCATE X,57,0:PRINT STRING$(3,196):NEXT X:RETURN
  65. 650  REM ARM PULL DOWN
  66. 660  Y=56:FOR X=8 TO 12:LOCATE X,Y,0:PRINT "   ";
  67. 670  FOR X1=X-1 TO X:COLOR 15,1:LOCATE X1,Y,0:PRINT STRING$(3,196);
  68. 680  COLOR 0,0:PRINT" ":LOCATE X1-2,Y+1,0:PRINT"   ":NEXT X1
  69. 690  Y=Y-1:NEXT X:IF NS THEN SOUND 400,0.2:PLAY"p64":SOUND 400,0.2
  70. 700  RETURN
  71. 710  IF NS THEN NS=0:RETURN ELSE NS=1:RETURN
  72. 720  LOCATE 13,28,0:COLOR 15,1:PRINT "P A Y O U T":LOCATE 14,33,0
  73. 730  X=15:FOR Y=24 TO 43:LOCATE X,Y,0:PRINT L$:NEXT Y
  74. 740  FOR X=15 TO 17:LOCATE X,44,0:PRINT S$:NEXT X
  75. 750  FOR Y=43 TO 24 STEP-1:LOCATE 17,Y,0:PRINT B$:NEXT Y
  76. 760  FOR X=17 TO 15 STEP-1:LOCATE X,23,0:PRINT S$:NEXT X
  77. 770  COLOR 15,0
  78. 780  REM LEFT WINDOW
  79. 790  FOR Y=18 TO 26:LOCATE 5,Y,0:PRINT L$:NEXT Y
  80. 800  FOR X=5 TO 7:LOCATE X,27,0:PRINT S$:NEXT X
  81. 810  FOR Y=26 TO 18 STEP-1:LOCATE 7,Y,0:PRINT B$:NEXT Y
  82. 820  FOR X=7 TO 5 STEP-1:LOCATE X,18,0:PRINT S$:NEXT X
  83. 830  REM MID WINDOW
  84. 840  FOR Y=30 TO 37:LOCATE 5,Y,0:PRINT L$:NEXT Y
  85. 850  FOR X=5 TO 7:LOCATE X,38,0:PRINT S$:NEXT X
  86. 860  FOR Y=37 TO 30 STEP-1:LOCATE 7,Y,0:PRINT B$:NEXT Y
  87. 870  FOR X=7 TO 5 STEP-1:LOCATE X,29,0:PRINT S$:NEXT X
  88. 880  REM RIGHT WINDOW
  89. 890  FOR Y=41 TO 48:LOCATE 5,Y,0:PRINT L$:NEXT Y
  90. 900  FOR X=5 TO 7:LOCATE X,49,0:PRINT S$:NEXT X
  91. 910  FOR Y=48 TO 41 STEP-1:LOCATE 7,Y,0:PRINT B$:NEXT Y
  92. 920  FOR X=7 TO 5 STEP-1:LOCATE X,40,0:PRINT S$:NEXT X
  93. 930  REM DO YOU PULL OR END
  94. 940  LOCATE 21,24,0:PRINT "YOU NOW HAVE ";:PRINT USING "$$###.##";M
  95. 950  IF M=0 THEN 1590
  96. 960  LOCATE 22,13:PRINT "<ENTER> for PULL, S for sound or E to end":PLAY"t120"
  97. 970  A$=INKEY$:IF A$="S" OR A$="s" THEN GOSUB 710:GOTO 990
  98. 980  IF A$="E" OR A$="e" THEN 1570 ELSE IF A$<>CHR$(13) THEN 970
  99. 990  COUNT=COUNT+1:COLOR 7:Z$="   (25) ":FOR X=1 TO 8:LOCATE 3,52:PRINT MID$(Z$,X,9-X):C=TIMER:WHILE C+0.05>TIMER:WEND
  100. 1000  NEXT X:IF NS THEN SOUND 1000,0.1:PLAY"p64":SOUND 2000,1:PLAY"p64":SOUND 500,0.5:SOUND 100,1
  101. 1010  LOCATE 22,13:PRINT SPACE$(42):GOSUB 650:FOR X=11 TO 12:LOCATE X,52:PRINT"   ":NEXT X:COLOR 15,0
  102. 1020  LOCATE 16,24:PRINT SPACE$(20);:COLOR ,1:GOSUB 610:COLOR ,0
  103. 1030  REM * PICK THE WHEELS
  104. 1040  FOR I=1 TO 3:Z(I)=INT((RND*10)+1):NEXT I
  105. 1050  REM ROLL ALL WINDOWS AND PICK LEFT
  106. 1060  FOR X=1 TO 5:FOR Y=1 TO 5:COLOR W(Y+0):LOCATE 6,19,0:PRINT W$(Y+0);:COLOR W(Y+1)
  107. 1070  LOCATE 6,30,0:PRINT W$(Y+1);:COLOR W(Y+2):LOCATE 6,41,0:PRINT W$(Y+2);:IF NS THEN SOUND 2000,0.1:PLAY"p64":SOUND 4000,0.1:PLAY"p64":SOUND 2000,0.1 ELSE PLAY"p24"
  108. 1080  PLAY"p64":NEXT Y,X
  109. 1090  COLOR V(Z(1)):LOCATE 6,19,0:PRINT V$(Z(1));
  110. 1100  REM ROLL MID AND RIGHT AND PICK MID
  111. 1110  FOR X=1 TO 4:FOR Y=1 TO 4
  112. 1120  COLOR W(Y+0):LOCATE 6,30,0:PRINT W$(Y+0);:COLOR W(Y+1):LOCATE 6,41,0:PRINT W$(Y+1);:IF NS THEN SOUND 4000,0.1:PLAY"p64":SOUND 2000,0.1 ELSE PLAY "p40"
  113. 1130  PLAY"p28":NEXT Y,X
  114. 1140  COLOR V1(Z(2)):LOCATE 6,30,0:PRINT V1$(Z(2));
  115. 1150  REM ROLL RIGHT AND PICK RIGHT
  116. 1160  FOR X=1 TO 3:FOR Y=1 TO 3
  117. 1170  COLOR W(Y):LOCATE 6,41,0:PRINT W$(Y);:IF NS THEN SOUND 4000,0.1:SOUND 2000,0.1 ELSE PLAY"p64"
  118. 1180  PLAY"P19":NEXT Y,X
  119. 1190  COLOR V3(Z(3)):LOCATE 6,41,0:PRINT V3$(Z(3));
  120. 1200  REM DO I HAVE 3 OF A KIND
  121. 1210  COLOR 5
  122. 1220  IF V$(Z(1))<>V1$(Z(2)) THEN 1370
  123. 1230  IF V$(Z(1))=" ORANGE " AND V3$(Z(3))=" *$$$$* " THEN 1350
  124. 1240  IF V1$(Z(2))<>V3$(Z(3)) THEN 1370
  125. 1250  IF V$(Z(1))<>" CHERRY " THEN 1270
  126. 1260  LOCATE 16,24:PRINT "   YOU WIN $ 5.00   ":M=M+4.75:GOSUB 1810:GOTO 930
  127. 1270  IF V$(Z(1))<>"  PLUM  " THEN 1290
  128. 1280  LOCATE 16,24:PRINT "   YOU WIN $10.00   ":M=M+9.75:GOSUB 1810:GOTO 930
  129. 1290  IF V$(Z(1))<>" ORANGE " THEN 1310
  130. 1300  LOCATE 16,24:PRINT "   YOU WIN $15.00   ":M=M+14.75:GOSUB 1810:GOTO 930
  131. 1310  IF V$(Z(1))<>" *$$$$* " THEN 1330
  132. 1320  LOCATE 16,24:PRINT "   YOU WIN $37.50   ":M=M+37.25:GOSUB 1710:GOTO 930
  133. 1330  IF V$(Z(1))<>" LEMON  " THEN 1370
  134. 1340  LOCATE 16,24:PRINT "   YOU WIN $ 7.50    ":M=M+7.25:GOSUB 1810:GOTO 930
  135. 1350  REM ORANGE'S AND *$$$$* BONUS
  136. 1360  LOCATE 16,24:PRINT "   YOU WIN $25.00   ":M=M+24.75:GOSUB 1710:GOTO 930
  137. 1370  REM DO I HAVE CHERRIES
  138. 1380  IF  V$(Z(1))<>" CHERRY " THEN 1440
  139. 1390  IF V1$(Z(2))<>" CHERRY " THEN 1420
  140. 1400  REM 2 CHERRIES
  141. 1410  LOCATE 16,24:PRINT "   YOU WIN $1.00    ":M=M+0.75:GOSUB 1790:GOTO 930
  142. 1420  REM 1  CHERRY
  143. 1430  LOCATE 16,24:PRINT "   YOU WIN $0.50    ":M=M+0.25:GOSUB 1790:GOTO 930
  144. 1440  REM GOT SCHMALTZ
  145. 1450  ON Z(3) GOSUB 1470,1480,1490,1500,1510,1520,1530,1540,1550,1560
  146. 1460  M=M-0.25:GOTO 930
  147. 1470  LOCATE 16,24:COLOR  3,0:PRINT " TRY BINGO INSTEAD  ":RETURN
  148. 1480  LOCATE 16,24:COLOR  6,0:PRINT "   HA HA YOU LOSE   ":RETURN
  149. 1490  LOCATE 16,24:COLOR  5:PRINT "      ZILCH-O       ":RETURN
  150. 1500  LOCATE 16,24:COLOR  4:PRINT "  TRY AGAIN SUCKER  ":RETURN
  151. 1510  LOCATE 16,24:COLOR  1:PRINT " TRY VEGAS INSTEAD  ":RETURN
  152. 1520  LOCATE 16,24:COLOR  2:PRINT "  YOU GOT SCHMALTZ  ":RETURN
  153. 1530  LOCATE 16,24:COLOR 14:PRINT " BACK TO STAR TREK  ":RETURN
  154. 1540  LOCATE 16,24:COLOR 13:PRINT " ARM GETTING TIRED  ":RETURN
  155. 1550  LOCATE 16,24:COLOR 12:PRINT "       SUCKER       ":RETURN
  156. 1560  LOCATE 16,24:COLOR 10:PRINT "     GO TO RENO     ":RETURN
  157. 1570  LOCATE 16,24:COLOR 15,1:PRINT "      BYE-BYE       "
  158. 1580  L=LEN(N$)/2:LOCATE 17,33-L:PRINT N$:COLOR 14,0
  159. 1590  LOCATE 21,1,0:PRINT SPACE$(80);:LOCATE 22,1,0:PRINT SPACE$(80);
  160. 1600  LOCATE 21,9,0:PRINT"You have ";:PRINT USING"$$###.##";M;:PRINT" after"COUNT"pulls, you ";
  161. 1610  IF M>25 THEN PRINT"won "USING"$$###.##";M-25 ELSE IF M=0 THEN PRINT"lost everything." ELSE IF M>0 THEN PRINT"lost "USING"$##.##";25-M
  162. 1620  COLOR 15:LOCATE 23,22,0:PRINT"Press any key to exit"
  163. 1630  IF INKEY$="" THEN 1630 ELSE CLS:END
  164. 1640  LOCATE 4,4:PRINT "W E L C O M E  T O . . ."
  165. 1650  LOCATE 8,30:PRINT "I B M ' S  C A S I N O"
  166. 1660  LOCATE 17,4:PRINT "Today you will lose your money at IBM's famous slot machine."
  167. 1670  LOCATE 18,4:PRINT "You have been given a credit line of $25.00. Therefore at 25 a pull you"
  168. 1680  LOCATE 19,4:PRINT "have a minimum of 100 pulls!"
  169. 1690  LOCATE 21,4:PRINT "By the way what is your name ";:COLOR 15:INPUT N$
  170. 1700  COLOR 5:RETURN
  171. 1710  IF NS=0 THEN RETURN 'STARS AND STRIPES FOREVER
  172. 1720  PLAY "T220 L4 C2 O3 B-AA2 G+ A A..... G+A A2 G+ A "
  173. 1730  PLAY "O4 C O3 A. O4 C O3 B-1 G P4 G2 F+ G G2 F+G"
  174. 1740  PLAY "B-..... A G A O4 C2.D2. D O3 G.... P4"
  175. 1750  PLAY "O4 C2 C2 O3 B- A A2 G+ A A..... G+ A A2 G+ A B- AGE"
  176. 1760  PLAY "G1 F P4 F2 F2 EF A-2 GF O4 F.... O3 FGA O4 C"
  177. 1770  PLAY "P2 P4 O3 CDA G2 F O4 F8"
  178. 1780  RETURN
  179. 1790  IF NS=0 THEN RETURN 'SIDEWALKS
  180. 1800  PLAY "T200 L2 O4 G.E.D.C.DC4 O3 A B4 O4 C...":RETURN
  181. 1810  IF NS=0 THEN RETURN 'DONNA E MOBILE
  182. 1820  PLAY "T200 L4 O4 EEE G8 F8 D2 DDD F8 E8 C2 EDC C8"
  183. 1830  PLAY "O3 B8 B2 O4 DC O3 A A8 G8 G2"
  184. 1840  RETURN
  185. 1850  REM CONVERTED FOR IBM-PC FROM 101 BASIC COMPUTER GAMES BY DIGITAL
  186. 1860  REM EQUIPMENT CORP. SUBMITTED TO DIGITAL BY ROB HOFFBERG OF ROSLYN N.Y.
  187. 1870  REM AUTHOR UNKNOWN
  188. 1880  REM ENHANCED FOR COLOR AND SOUND BY ARNOLD THOMSEN OF SCOTTSDALE, AZ
  189. 1890  REM Further enhanced/errors corrected by James Huckabey of Bellingham, WA
  190. 1900  REM Colors/sound/payoffs/ also changed by James Huckabey + following REM's
  191. 1910  REM DELAY FOR INTERPRETIVE BASIC WHEEL 1 NEXT Y,X
  192. 1920  REM END FOR INTERPRETIVE BASIC IF INKEY$="" THEN 1630 ELSE RUN"MENU
  193. 1930  REM DELAY FOR COMPILED BASIC WHEEL 1 PLAY"p28":NEXT Y,X
  194. 1940  REM END FOR COMPILED BASIC IF INKEY$="" THEN 1620 ELSE CLS:END
  195.